home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / knowhow4 / axes2.cpp < prev    next >
C/C++ Source or Header  |  1994-11-13  |  2KB  |  69 lines

  1. #include "axes2.h"
  2.  
  3. Axes2::Axes2()
  4.     {
  5.     horiz_axe = vert_axe = horiz_axe_2 = vert_axe_2 = NULL;
  6.     }
  7. //////////////////////////
  8. void Axes2::set_axe(int which, int l, double start, double end,
  9.         int tick_no, int* t, int s_tick_no, int* s, char** lab,
  10.         int text_direction)
  11.     {
  12.     HV_Axes* axe = new HV_Axes(l, start, end, tick_no, t, s_tick_no,
  13.                    s, lab);
  14.  
  15.     switch(which)
  16.     {
  17.     case HORIZ1: delete horiz_axe; horiz_axe = axe;
  18.         axe->set_type(NORMAL_AXE, HORIZ_AXE, text_direction); break;
  19.     case VERT1: delete vert_axe; vert_axe = axe;
  20.         axe->set_type(NORMAL_AXE, VERT_AXE, text_direction); break;
  21.     case HORIZ2: delete horiz_axe_2; horiz_axe_2 = axe;
  22.         axe->set_type(REVERSE_AXE, HORIZ_AXE, text_direction); break;
  23.     case VERT2: delete vert_axe_2; vert_axe_2 = axe;
  24.         axe->set_type(REVERSE_AXE, VERT_AXE, text_direction); break;
  25.     }
  26.     }
  27. ////////////////////////////
  28. void Axes2::show(loc lt, int ax_col, int lab_col)
  29.     {
  30.     if(horiz_axe != NULL)
  31.     horiz_axe->draw_axe(loc(lt.X, lt.Y + vert_axe->len_scr),
  32.                  ax_col, lab_col);
  33.     if(vert_axe != NULL)
  34.     vert_axe->draw_axe(lt, ax_col, lab_col);
  35.     if(horiz_axe_2 != NULL)
  36.     horiz_axe_2->draw_axe(lt, ax_col, lab_col);
  37.     if(vert_axe_2 != NULL)
  38.     vert_axe_2->draw_axe(loc(lt.X + horiz_axe->len_scr, lt.Y),
  39.                   ax_col, lab_col);
  40.     }
  41. /////////////////////////
  42. void Axes2::cross(rect coord, loc zero)
  43.     {
  44.     drawTool->setlinestyle(SOLID_LINE, 1, 3);
  45.     drawTool->line(zero.X, coord.origin.Y, zero.X, coord.corner.Y);
  46.     drawTool->line(coord.origin.X, zero.Y, coord.corner.X, zero.Y);
  47.     }
  48. /*
  49. void main()
  50.     {
  51.     int gdriver = DETECT, gmode;
  52.     initgraph(&gdriver, &gmode, "");
  53.  
  54.     drawTool = new KH_Paint();   // See KHPAINT.H
  55.  
  56.     Axes2* a = new Axes2();
  57.     a->set_axe(HORIZ1, 300, -20, 80);
  58.     a->set_axe(HORIZ2, 300, -20, 80);
  59.     a->set_axe(VERT1, 300, -20, 80);
  60.     a->set_axe(VERT2, 300, -20, 80);
  61.  
  62.     a->show(loc(40, 20), LIGHTBLUE, YELLOW);
  63.  
  64.     delete a;
  65.     delete drawTool;   // See KHPAINT.H
  66.  
  67.     closegraph();
  68.     }
  69. */